package Stream02;

import java.util.ArrayList;

/*
Stream流常用的中间操作方法
Stream<T> filter (Predicate predicate):用于对流中的数据进行过滤
Predicate接口中的方法 boolean test (T t):对给定的参数进行判断，并返回一个布尔值
 */
public class StreamDemo02 {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<String>();

        list.add("姜恒星");
        list.add("张无忌");
        list.add("王祖贤");
        list.add("郝万杰");
        list.add("邓吉壕");
        list.add("侯佳超");

        //需求一：把List集合中"张"开头的元素在控制台输出
        list.stream().filter(s->s.startsWith("张")).forEach(System.out::println);

        //需求二：把List集合中长度为3的元素在控制台输出
        list.stream().filter(s -> s.length()==3).forEach(System.out::println);

        //需求三：把List集合中以张开头，长度为3的元素在控制台输出
        list.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(System.out::println);

    }
}
